package com.mhc.suzuki.manager;

import com.mhc.suzuki.bo.AuditTaskBO;
import com.subaru.common.query.PageResult;
import com.mhc.suzuki.dal.model.OrderAuditTaskDO;
import com.mhc.suzuki.dal.query.OrderAuditTaskQuery;

import java.util.List;
import java.util.Map;


/**
 * Manager for OrderAuditTask.
 */
public interface OrderAuditTaskManager {
    /**
     * query count by query condition.
     */
    int countByQuery(OrderAuditTaskQuery query);

    /**
     * delete by query condition.
     */
    int deleteByQuery(OrderAuditTaskQuery query);

    /**
     * delete by primary key.
     */
    int deleteByPrimaryKey(OrderAuditTaskDO record);

    /**
     * insert selective.
     */
    long insertSelective(OrderAuditTaskDO record);

    /**
     * select by query condition.
     */
    List<OrderAuditTaskDO> selectByQuery(OrderAuditTaskQuery query);


    /**
     * select by query condition with page.
     */
    PageResult<OrderAuditTaskDO> selectByQueryWithPage(OrderAuditTaskQuery query);

    /**
     * select by primary key.
     */
    OrderAuditTaskDO selectByPrimaryKey(Long id);

    /**
     * update by query condition selective.
     */
    int updateByQuerySelective( OrderAuditTaskDO record,  OrderAuditTaskQuery query);

    /**
     * update by query condition.
     */
    int updateByQuery(OrderAuditTaskDO record, OrderAuditTaskQuery query);

    /**
     * update by primary key selective.
     */
    int updateByPrimaryKeySelective(OrderAuditTaskDO record);

    /**
     *根据登录员工获取审核待办列表
     * @param queryMap
     * @return
     */
    List<AuditTaskBO> getWaitingTaskListByStaffId(Map queryMap);
}